package cn.jit.ssm.beans.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class JitRoleModuleExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public JitRoleModuleExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andRoleLabelIsNull() {
            addCriterion("roleLabel is null");
            return (Criteria) this;
        }

        public Criteria andRoleLabelIsNotNull() {
            addCriterion("roleLabel is not null");
            return (Criteria) this;
        }

        public Criteria andRoleLabelEqualTo(String value) {
            addCriterion("roleLabel =", value, "roleLabel");
            return (Criteria) this;
        }

        public Criteria andRoleLabelNotEqualTo(String value) {
            addCriterion("roleLabel <>", value, "roleLabel");
            return (Criteria) this;
        }

        public Criteria andRoleLabelGreaterThan(String value) {
            addCriterion("roleLabel >", value, "roleLabel");
            return (Criteria) this;
        }

        public Criteria andRoleLabelGreaterThanOrEqualTo(String value) {
            addCriterion("roleLabel >=", value, "roleLabel");
            return (Criteria) this;
        }

        public Criteria andRoleLabelLessThan(String value) {
            addCriterion("roleLabel <", value, "roleLabel");
            return (Criteria) this;
        }

        public Criteria andRoleLabelLessThanOrEqualTo(String value) {
            addCriterion("roleLabel <=", value, "roleLabel");
            return (Criteria) this;
        }

        public Criteria andRoleLabelLike(String value) {
            addCriterion("roleLabel like", value, "roleLabel");
            return (Criteria) this;
        }

        public Criteria andRoleLabelNotLike(String value) {
            addCriterion("roleLabel not like", value, "roleLabel");
            return (Criteria) this;
        }

        public Criteria andRoleLabelIn(List<String> values) {
            addCriterion("roleLabel in", values, "roleLabel");
            return (Criteria) this;
        }

        public Criteria andRoleLabelNotIn(List<String> values) {
            addCriterion("roleLabel not in", values, "roleLabel");
            return (Criteria) this;
        }

        public Criteria andRoleLabelBetween(String value1, String value2) {
            addCriterion("roleLabel between", value1, value2, "roleLabel");
            return (Criteria) this;
        }

        public Criteria andRoleLabelNotBetween(String value1, String value2) {
            addCriterion("roleLabel not between", value1, value2, "roleLabel");
            return (Criteria) this;
        }

        public Criteria andModuleCodeIsNull() {
            addCriterion("moduleCode is null");
            return (Criteria) this;
        }

        public Criteria andModuleCodeIsNotNull() {
            addCriterion("moduleCode is not null");
            return (Criteria) this;
        }

        public Criteria andModuleCodeEqualTo(String value) {
            addCriterion("moduleCode =", value, "moduleCode");
            return (Criteria) this;
        }

        public Criteria andModuleCodeNotEqualTo(String value) {
            addCriterion("moduleCode <>", value, "moduleCode");
            return (Criteria) this;
        }

        public Criteria andModuleCodeGreaterThan(String value) {
            addCriterion("moduleCode >", value, "moduleCode");
            return (Criteria) this;
        }

        public Criteria andModuleCodeGreaterThanOrEqualTo(String value) {
            addCriterion("moduleCode >=", value, "moduleCode");
            return (Criteria) this;
        }

        public Criteria andModuleCodeLessThan(String value) {
            addCriterion("moduleCode <", value, "moduleCode");
            return (Criteria) this;
        }

        public Criteria andModuleCodeLessThanOrEqualTo(String value) {
            addCriterion("moduleCode <=", value, "moduleCode");
            return (Criteria) this;
        }

        public Criteria andModuleCodeLike(String value) {
            addCriterion("moduleCode like", value, "moduleCode");
            return (Criteria) this;
        }

        public Criteria andModuleCodeNotLike(String value) {
            addCriterion("moduleCode not like", value, "moduleCode");
            return (Criteria) this;
        }

        public Criteria andModuleCodeIn(List<String> values) {
            addCriterion("moduleCode in", values, "moduleCode");
            return (Criteria) this;
        }

        public Criteria andModuleCodeNotIn(List<String> values) {
            addCriterion("moduleCode not in", values, "moduleCode");
            return (Criteria) this;
        }

        public Criteria andModuleCodeBetween(String value1, String value2) {
            addCriterion("moduleCode between", value1, value2, "moduleCode");
            return (Criteria) this;
        }

        public Criteria andModuleCodeNotBetween(String value1, String value2) {
            addCriterion("moduleCode not between", value1, value2, "moduleCode");
            return (Criteria) this;
        }

        public Criteria andMosuleSuperCodeIsNull() {
            addCriterion("mosuleSuperCode is null");
            return (Criteria) this;
        }

        public Criteria andMosuleSuperCodeIsNotNull() {
            addCriterion("mosuleSuperCode is not null");
            return (Criteria) this;
        }

        public Criteria andMosuleSuperCodeEqualTo(String value) {
            addCriterion("mosuleSuperCode =", value, "mosuleSuperCode");
            return (Criteria) this;
        }

        public Criteria andMosuleSuperCodeNotEqualTo(String value) {
            addCriterion("mosuleSuperCode <>", value, "mosuleSuperCode");
            return (Criteria) this;
        }

        public Criteria andMosuleSuperCodeGreaterThan(String value) {
            addCriterion("mosuleSuperCode >", value, "mosuleSuperCode");
            return (Criteria) this;
        }

        public Criteria andMosuleSuperCodeGreaterThanOrEqualTo(String value) {
            addCriterion("mosuleSuperCode >=", value, "mosuleSuperCode");
            return (Criteria) this;
        }

        public Criteria andMosuleSuperCodeLessThan(String value) {
            addCriterion("mosuleSuperCode <", value, "mosuleSuperCode");
            return (Criteria) this;
        }

        public Criteria andMosuleSuperCodeLessThanOrEqualTo(String value) {
            addCriterion("mosuleSuperCode <=", value, "mosuleSuperCode");
            return (Criteria) this;
        }

        public Criteria andMosuleSuperCodeLike(String value) {
            addCriterion("mosuleSuperCode like", value, "mosuleSuperCode");
            return (Criteria) this;
        }

        public Criteria andMosuleSuperCodeNotLike(String value) {
            addCriterion("mosuleSuperCode not like", value, "mosuleSuperCode");
            return (Criteria) this;
        }

        public Criteria andMosuleSuperCodeIn(List<String> values) {
            addCriterion("mosuleSuperCode in", values, "mosuleSuperCode");
            return (Criteria) this;
        }

        public Criteria andMosuleSuperCodeNotIn(List<String> values) {
            addCriterion("mosuleSuperCode not in", values, "mosuleSuperCode");
            return (Criteria) this;
        }

        public Criteria andMosuleSuperCodeBetween(String value1, String value2) {
            addCriterion("mosuleSuperCode between", value1, value2, "mosuleSuperCode");
            return (Criteria) this;
        }

        public Criteria andMosuleSuperCodeNotBetween(String value1, String value2) {
            addCriterion("mosuleSuperCode not between", value1, value2, "mosuleSuperCode");
            return (Criteria) this;
        }

        public Criteria andFindsIsNull() {
            addCriterion("finds is null");
            return (Criteria) this;
        }

        public Criteria andFindsIsNotNull() {
            addCriterion("finds is not null");
            return (Criteria) this;
        }

        public Criteria andFindsEqualTo(Boolean value) {
            addCriterion("finds =", value, "finds");
            return (Criteria) this;
        }

        public Criteria andFindsNotEqualTo(Boolean value) {
            addCriterion("finds <>", value, "finds");
            return (Criteria) this;
        }

        public Criteria andFindsGreaterThan(Boolean value) {
            addCriterion("finds >", value, "finds");
            return (Criteria) this;
        }

        public Criteria andFindsGreaterThanOrEqualTo(Boolean value) {
            addCriterion("finds >=", value, "finds");
            return (Criteria) this;
        }

        public Criteria andFindsLessThan(Boolean value) {
            addCriterion("finds <", value, "finds");
            return (Criteria) this;
        }

        public Criteria andFindsLessThanOrEqualTo(Boolean value) {
            addCriterion("finds <=", value, "finds");
            return (Criteria) this;
        }

        public Criteria andFindsIn(List<Boolean> values) {
            addCriterion("finds in", values, "finds");
            return (Criteria) this;
        }

        public Criteria andFindsNotIn(List<Boolean> values) {
            addCriterion("finds not in", values, "finds");
            return (Criteria) this;
        }

        public Criteria andFindsBetween(Boolean value1, Boolean value2) {
            addCriterion("finds between", value1, value2, "finds");
            return (Criteria) this;
        }

        public Criteria andFindsNotBetween(Boolean value1, Boolean value2) {
            addCriterion("finds not between", value1, value2, "finds");
            return (Criteria) this;
        }

        public Criteria andAddsIsNull() {
            addCriterion("adds is null");
            return (Criteria) this;
        }

        public Criteria andAddsIsNotNull() {
            addCriterion("adds is not null");
            return (Criteria) this;
        }

        public Criteria andAddsEqualTo(Boolean value) {
            addCriterion("adds =", value, "adds");
            return (Criteria) this;
        }

        public Criteria andAddsNotEqualTo(Boolean value) {
            addCriterion("adds <>", value, "adds");
            return (Criteria) this;
        }

        public Criteria andAddsGreaterThan(Boolean value) {
            addCriterion("adds >", value, "adds");
            return (Criteria) this;
        }

        public Criteria andAddsGreaterThanOrEqualTo(Boolean value) {
            addCriterion("adds >=", value, "adds");
            return (Criteria) this;
        }

        public Criteria andAddsLessThan(Boolean value) {
            addCriterion("adds <", value, "adds");
            return (Criteria) this;
        }

        public Criteria andAddsLessThanOrEqualTo(Boolean value) {
            addCriterion("adds <=", value, "adds");
            return (Criteria) this;
        }

        public Criteria andAddsIn(List<Boolean> values) {
            addCriterion("adds in", values, "adds");
            return (Criteria) this;
        }

        public Criteria andAddsNotIn(List<Boolean> values) {
            addCriterion("adds not in", values, "adds");
            return (Criteria) this;
        }

        public Criteria andAddsBetween(Boolean value1, Boolean value2) {
            addCriterion("adds between", value1, value2, "adds");
            return (Criteria) this;
        }

        public Criteria andAddsNotBetween(Boolean value1, Boolean value2) {
            addCriterion("adds not between", value1, value2, "adds");
            return (Criteria) this;
        }

        public Criteria andDeletesIsNull() {
            addCriterion("deletes is null");
            return (Criteria) this;
        }

        public Criteria andDeletesIsNotNull() {
            addCriterion("deletes is not null");
            return (Criteria) this;
        }

        public Criteria andDeletesEqualTo(Boolean value) {
            addCriterion("deletes =", value, "deletes");
            return (Criteria) this;
        }

        public Criteria andDeletesNotEqualTo(Boolean value) {
            addCriterion("deletes <>", value, "deletes");
            return (Criteria) this;
        }

        public Criteria andDeletesGreaterThan(Boolean value) {
            addCriterion("deletes >", value, "deletes");
            return (Criteria) this;
        }

        public Criteria andDeletesGreaterThanOrEqualTo(Boolean value) {
            addCriterion("deletes >=", value, "deletes");
            return (Criteria) this;
        }

        public Criteria andDeletesLessThan(Boolean value) {
            addCriterion("deletes <", value, "deletes");
            return (Criteria) this;
        }

        public Criteria andDeletesLessThanOrEqualTo(Boolean value) {
            addCriterion("deletes <=", value, "deletes");
            return (Criteria) this;
        }

        public Criteria andDeletesIn(List<Boolean> values) {
            addCriterion("deletes in", values, "deletes");
            return (Criteria) this;
        }

        public Criteria andDeletesNotIn(List<Boolean> values) {
            addCriterion("deletes not in", values, "deletes");
            return (Criteria) this;
        }

        public Criteria andDeletesBetween(Boolean value1, Boolean value2) {
            addCriterion("deletes between", value1, value2, "deletes");
            return (Criteria) this;
        }

        public Criteria andDeletesNotBetween(Boolean value1, Boolean value2) {
            addCriterion("deletes not between", value1, value2, "deletes");
            return (Criteria) this;
        }

        public Criteria andModifysIsNull() {
            addCriterion("modifys is null");
            return (Criteria) this;
        }

        public Criteria andModifysIsNotNull() {
            addCriterion("modifys is not null");
            return (Criteria) this;
        }

        public Criteria andModifysEqualTo(Boolean value) {
            addCriterion("modifys =", value, "modifys");
            return (Criteria) this;
        }

        public Criteria andModifysNotEqualTo(Boolean value) {
            addCriterion("modifys <>", value, "modifys");
            return (Criteria) this;
        }

        public Criteria andModifysGreaterThan(Boolean value) {
            addCriterion("modifys >", value, "modifys");
            return (Criteria) this;
        }

        public Criteria andModifysGreaterThanOrEqualTo(Boolean value) {
            addCriterion("modifys >=", value, "modifys");
            return (Criteria) this;
        }

        public Criteria andModifysLessThan(Boolean value) {
            addCriterion("modifys <", value, "modifys");
            return (Criteria) this;
        }

        public Criteria andModifysLessThanOrEqualTo(Boolean value) {
            addCriterion("modifys <=", value, "modifys");
            return (Criteria) this;
        }

        public Criteria andModifysIn(List<Boolean> values) {
            addCriterion("modifys in", values, "modifys");
            return (Criteria) this;
        }

        public Criteria andModifysNotIn(List<Boolean> values) {
            addCriterion("modifys not in", values, "modifys");
            return (Criteria) this;
        }

        public Criteria andModifysBetween(Boolean value1, Boolean value2) {
            addCriterion("modifys between", value1, value2, "modifys");
            return (Criteria) this;
        }

        public Criteria andModifysNotBetween(Boolean value1, Boolean value2) {
            addCriterion("modifys not between", value1, value2, "modifys");
            return (Criteria) this;
        }

        public Criteria andLastModifyTimeIsNull() {
            addCriterion("lastModifyTime is null");
            return (Criteria) this;
        }

        public Criteria andLastModifyTimeIsNotNull() {
            addCriterion("lastModifyTime is not null");
            return (Criteria) this;
        }

        public Criteria andLastModifyTimeEqualTo(Date value) {
            addCriterion("lastModifyTime =", value, "lastModifyTime");
            return (Criteria) this;
        }

        public Criteria andLastModifyTimeNotEqualTo(Date value) {
            addCriterion("lastModifyTime <>", value, "lastModifyTime");
            return (Criteria) this;
        }

        public Criteria andLastModifyTimeGreaterThan(Date value) {
            addCriterion("lastModifyTime >", value, "lastModifyTime");
            return (Criteria) this;
        }

        public Criteria andLastModifyTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("lastModifyTime >=", value, "lastModifyTime");
            return (Criteria) this;
        }

        public Criteria andLastModifyTimeLessThan(Date value) {
            addCriterion("lastModifyTime <", value, "lastModifyTime");
            return (Criteria) this;
        }

        public Criteria andLastModifyTimeLessThanOrEqualTo(Date value) {
            addCriterion("lastModifyTime <=", value, "lastModifyTime");
            return (Criteria) this;
        }

        public Criteria andLastModifyTimeIn(List<Date> values) {
            addCriterion("lastModifyTime in", values, "lastModifyTime");
            return (Criteria) this;
        }

        public Criteria andLastModifyTimeNotIn(List<Date> values) {
            addCriterion("lastModifyTime not in", values, "lastModifyTime");
            return (Criteria) this;
        }

        public Criteria andLastModifyTimeBetween(Date value1, Date value2) {
            addCriterion("lastModifyTime between", value1, value2, "lastModifyTime");
            return (Criteria) this;
        }

        public Criteria andLastModifyTimeNotBetween(Date value1, Date value2) {
            addCriterion("lastModifyTime not between", value1, value2, "lastModifyTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}